package co.com.inventarios.vista;

import java.io.IOException;

import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;

import co.com.inventarios.utils.FacesUtils;
import co.com.inventarios.utils.MessageBundleLoader;

public class AccesoExterno_MB {

	private String usuarioExterno;
	private String variableUser;
	private String url;
	private String page;
	private int cantidadAccesos;
	menu_ppal_MB menu;

	public AccesoExterno_MB() {
		// TODO Auto-generated constructor stub
		
		variableUser = (String) FacesContext.getCurrentInstance()
				.getExternalContext().getRequestParameterMap().get(
						"validarUsuario");
		url = MessageBundleLoader.getMessage("url");
		page = this.cargarAplicacion(variableUser);
		cantidadAccesos = new Integer(MessageBundleLoader
				.getMessage("cantidadAccesos")).intValue();

		for (int i = 1; i <= cantidadAccesos; i++) {
			String pagina = MessageBundleLoader.getMessage("validacion.acceso"
					+ i);
			if (page.equals(pagina)) {
				try {
					FacesContext.getCurrentInstance().getExternalContext()
							.redirect(
									url
											+ MessageBundleLoader
													.getMessage(pagina));
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
	}

	public AccesoExterno_MB(String usuarioExterno) {
		super();
		this.usuarioExterno = usuarioExterno;
		//
		// variable = (String) FacesContext.getCurrentInstance()
		// .getExternalContext().getRequestMap().get("validarUsuario");
		//
		// this.usuarioExterno = usuarioExterno;
		// this.cargarAplicacion(this.usuarioExterno);
	}

	public String getUsuarioExterno() {
		return usuarioExterno;
	}

	public void setUsuarioExterno(String usuarioExterno) {
		this.usuarioExterno = usuarioExterno;
	}

	public menu_ppal_MB getMenu() {
		return menu;
	}

	public void setMenu(menu_ppal_MB menu) {
		this.menu = menu;
	}

	public String cargarAplicacion(String user) {
		menu = (menu_ppal_MB) FacesUtils.getManagedBean("menu_ppal_MB");
		menu.setUsucodigo(user);
		String retorna = menu.action_Enviar();
		return retorna;
	}

	public String getVariableUser() {
		return variableUser;
	}

	public void setVariableUser(String variableUser) {
		this.variableUser = variableUser;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public String getPage() {
		return page;
	}

	public void setPage(String page) {
		this.page = page;
	}

	public int getCantidadAccesos() {
		return cantidadAccesos;
	}

	public void setCantidadAccesos(int cantidadAccesos) {
		this.cantidadAccesos = cantidadAccesos;
	}

}
